﻿using System;
using System.Runtime.Serialization;

namespace Brianhdk.Utils.VisualStudio.AssemblyInfoDialog
{
    [Serializable]
    internal class MissingAssemblyFilePathStrategyException : Exception
    {
        public MissingAssemblyFilePathStrategyException()
        {
        }

        public MissingAssemblyFilePathStrategyException(string itemPath)
            : base(FormatMessage(itemPath))
        {
        }

        public MissingAssemblyFilePathStrategyException(string itemPath, Exception inner)
            : base(FormatMessage(itemPath), inner)
        {
        }

        protected MissingAssemblyFilePathStrategyException(
            SerializationInfo info,
            StreamingContext context) : base(info, context)
        {
        }

        private static string FormatMessage(string itemPath)
        {
            return String.Format("No AssemblyFilePathStrategy found for '{0}'", itemPath);
        }
    }
}